﻿#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <stdlib.h>
//struct A
//{
//	int _a : 2;
//	int _b : 5;
//	int _c : 10;
//	int _d : 30;
//};
//int main()
//{ 
//	printf("%d\n", sizeof(struct A));
//	return 0;
//}
//struct S
//{
//	char a : 3;
//	char b : 4;
//	char c : 5;
//	char d : 4;
//};
//int main() 
//{
//	struct S s = { 0 };
//	s.a = 10;
//	s.b = 12;
//	s.c = 3;
//	s.d = 4;
//};
//struct A
//{
//	int _a : 2;
//	int _b : 5;
//	int _c : 10;
//	int _d : 30;
//};
//int main()
//{
//	struct A a = { 0 };
//	int b = 0;
//	scanf("%d", &b);
//	a._b = b;
//	return 0;
//}
//union Un
//{
//	char c;
//	int i;
//};
//int main()
//{
//	union Un un = { 0 };
//	printf("%zd\n",sizeof(un));
//	return 0;
//}
//int main()
//{
//	union Un un = { 0 };
//	un.i = 0x11223344;
//	un.c = 0x55;
//	printf("%x\n",un.i);
//	return 0;
//}
//int main()
//{
//	union Un un = { 0 };
//	printf("%p\n", &(un.i));
//	printf("%p\n", &(un.c));
//	printf("%p\n", &un);
//	return 0;
//}
//struct gift_list
//{
//	//公共属性
//	int stock_number;//库存量
//	double price; //定价
//	int item_type;//商品类型
//	//特殊属性
//	char title[20];//书名
//	char author[20];//作者
//	int num_pages;//⻚数
//	char design[30];//设计
//	int colors;//颜⾊
//	int sizes;//尺⼨
//};
//
//struct gift_list
//{
//	int stock_number;//库存量
//	double price; //定价
//	int item_type;//商品类型
//
//	union {
//		struct
//		{
//			char title[20];//书名
//			char author[20];//作者
//			int num_pages;//⻚数
//		}book;
//		struct
//		{
//			char design[30];//设计
//		}mug;
//		struct
//		{
//			char design[30];//设计
//			int colors;//颜⾊
//			int sizes;//尺⼨
//		}shirt;
//	}item;
//};
//int panduan()
//{
//	union
//	{
//		int a;
//		char b;
//	}un;
//	un.a = 1;
//	return un.b;
//}
//int main()
//{
//	int i = panduan();
//	if (i == 1)
//		printf("小端");
//	else
//		printf("大端");
//	return 0;
//}
//enum Day
//{
//	Mon,
//	Tues,
//	Wed,
//	Thur,
//	Fri,
//	Sat,
//	Sun
//};
//enum Color
//{
//	RED = 1,
//	GREEN = 2,
//	BLUE = 4
//};
//enum Color clr = GREEN;
//int main()
//{
//	int* p = (int*)calloc(5, INT_MAX*4);
//	if (p != NULL)
//	{
//		int i = 0;
//		for (i = 0; i < 5; i++)
//		{
//			printf("%d ", *(p + i));
//		}
//	}
//	else
//	{
//		perror("calloc");
//		return 1;
//	}
//	free(p);
//	p = NULL;
//
//	return 0;
//}
int main()
{
	int* p = (int*)malloc(100);
	if (p == NULL)
	{
		perror("malloc");
		return 1;
	}
	else
	{
		int i = 0;
		for (i = 0; i < 25; i++)
		{
			*(p + i) = i;
	    }
		int* ptr = NULL;
		ptr = (int*)realloc(p,104);
		if (ptr == NULL)
		{
			perror("realloc");
			return 1;
		}
		else
		{
			p = ptr;
			for (i = 25; i < 26; i++) 
			{
				*(p + i) = i;
			}
			for (i = 0; i < 26; i++)
			{
				printf("%d ", *(p + i));
			}
		}
	}
	free(p);
	p = NULL;
	return 0;
}